from pyhocon import ConfigFactory

from base import Dirs


class Config:

    def __init__(self) -> None:
        super().__init__()
        self._conf = None
        self.load()

    def load(self):
        if self._conf is None:
            self._conf = Config.loadFile(Dirs.fileInHere('pime.conf'))
        return self

    def get(self, key: str, default=None):
        return self._conf.get(key, default=default)

    @staticmethod  # 静态方法: 不需要实例，也不依赖类的任何信息，只是这个方法适合放在这个地方而已
    def loadFile(f):
        return ConfigFactory.parse_file(f)


pimeConfig = Config()
